/**
 * 这里是操作localstorage的方法
 */

const storageKeys = {
  FILE_LIST: 'mde_file_list',
  HISTORY: 'mde_history'
}

export default {
  /**
   * 缓存打开的文件列表，为了节约资源，这里只缓存文件的路径
   * @param {*} fileList 
   */
  setFileList(fileList = []) {
    console.log(JSON.parse(JSON.stringify(fileList)))
    const list = JSON.parse(JSON.stringify(fileList)).filter(f => f.path)
    localStorage.setItem(storageKeys.FILE_LIST, JSON.stringify(list.map(v => v.path)))
  },
  /**
   * 获取缓存的文件列表
   * @returns 
   */
  getFileList() {
    return JSON.parse(localStorage.getItem(storageKeys.FILE_LIST) || '[]')
  },
  /**
   * 获取历史
   * @returns 
   */
  getHistory() {
    return JSON.parse(localStorage.getItem(storageKeys.HISTORY))
  },
  /**
   * 保存历史
   * @param {*} file 
   */
  setHistory(file) {
    const list = this.getHistory() || []
    const index = list.findIndex(f => f.path === file.path)
    if (index === -1) {
      list.push(file)
    } else {
      list.splice(index, 1, file)
    }
    localStorage.setItem(storageKeys.HISTORY, JSON.stringify(list))
  },
  /**
   * 移除文件
   * @param {*} file 
   */
  removeHistoryFile(file) {
    const list = this.getHistory() || []
    console.log(list)
    list.splice(list.findIndex(f => f.name === file.name), 1)
    localStorage.setItem(storageKeys.HISTORY, JSON.stringify(list))
  }
}